The tracking and location of valuable assets such as railcars, shipping containers, truck trailers, automobiles, etc. is often of great importance. By precisely tracking such vehicles, they can be allocated and positioned in a cost effective manner so as to provide the location of lost, delayed or damaged property. The space-based global positioning system (GPS) implemented by the United States Department of Defense (DOD) can be employed to determine geographical position in real time by the use of GPS receivers.
The GPS is a multiple satellite-based radio positioning system in which each GPS satellite transmits data that allows a user to precisely measure the distance from selected ones of the GPS satellites to his antenna so as to enable him to compute position, velocity and time parameters using known triangulation techniques. The signals provided by the GPS can be received both globally and continuously.
The GPS comprises three major segments. The segments are referred to as the space, control and user segments. The space segment consists of 21 operational satellites and three spare satellites. The satellites are positioned in a constellation such that typically seven, but a minimum of four satellites are observable by a user anywhere on or near the earth's surface. Each satellite transmits signals on two frequencies known as L1 (1575.42 MHz) and L2 (1227.6 MHz). The satellites use spread spectrum techniques that employ two types of spreading functions.
C/A (or coarse/acquisition code) and P (or precise) pseudo random noise (PRN) codes are transmitted on frequency L1, and P code only is transmitted on frequency L2. Individual bits in these PRN codes are referred to as chips. The C/A is available to any user, military or civilian, but the P code is only available to authorized military and civilian users. Both P and C/A codes contain data that enable a receiver to determine the range between a satellite and the user.
Superimposed on both the P and C/A codes is a navigation (NAV) message. A NAV message contains the GPS time; a handover word used in connection with the transition from C/A to P code tracking; ephemeris data for the particular satellites being tracked; and almanac data for all of the satellites in the constellation, including information regarding satellite health, coefficients for the ionospheric delay model for C/A code users, and coefficients used to calculate universal coordinated time (UCT).
The control segment comprises a master control station (MCS) and a number of monitor stations. The monitor stations passively track all GPS satellites in view, collecting ranging data and satellite clock data from each satellite. This information is passed on to the MCS where the satellite's future ephemeris and clock drift are predicted. Updated ephemeris and clock data are uploaded to each satellite for retransmission in each satellite's navigation message. The purpose of the control segment is to ensure that the information transmitted from the satellites is as accurate as possible.
The GPS is intended to be used in a wide variety of applications, including space, air, sea and land vehicle navigation, precise positioning, time transfer, altitude referencing and surveying.
A typical GPS receiver comprises a number of subsystems, including an antenna assembly, an RF (radio frequency) assembly, and a GPS processor assembly. The antenna assembly receives the L-band GPS signal and amplifies it prior to insertion into the RF assembly. A significant factor affecting accuracy of the computed position, velocity or time parameters is the positional geometry of the satellite selected for measurement of ranges. Generally, a best position solution is obtained using satellites having wide angles of separation. Considerable emphasis has therefore been placed on designing antenna systems to receive, with uniform gain, signals from any point on the hemisphere. This design approach provides tentative results in an expensive antenna assembly.
The RF assembly mixes the L-band GPS signal down to a convenient IF (intermediate frequency) signal. Using various known techniques, the PRN code modulating the L-band signal is tracked through code-correlation to measure the time of transmission of the signals from the satellite. The doppler shift of the received L-band signal is also measured through a carrier tracking loop. The code correlation and carrier tracking function can be performed using either analog or digital signal processing.
Control of the code in carrier tracking loops is provided by the GPS processor assembly. By differencing this measurement with the time of reception, as determined by the clock of the receiver, the pseudo range between the receiver and the satellite being tracked may be determined. The pseudo range includes both the range to the satellite and the offset of the clock from the GPS master time reference. The pseudo range measurements and navigation data from four satellites are used to compute a three-dimensional position and velocity fix, which calibrates the receiver's clock offset and provides an indication of GPS time.
In some known receivers, the receiver processor controller (RPC) functions are performed using a computer separate from that on which the navigation functions are performed. In other known receivers, both types of functions are performed by a single computer. The RPC processing and memory functions performed by a typical GPS receiver include monitoring channel status and control, signal acquisition and reacquisition, code and carrier tracking loops, computing pseudo range (PR) and delta range (DR) measurements, determining data edge timing, acquisition and storage of almanac and ephemeris data broadcast by the satellites, processor control and timing, address and command decoding, timed interrupt generation, interrupt acknowledgment control and GPS timing.
One type of known GPS receiver is described in U.S. Pat. No. 4,114,155, wherein the position of the receiver, which is responsive to C/A signals derived from multiple, orbiting spacecrafts, is determined to an accuracy greater than 300 meters. Each of the C/A signals has the same carrier frequency and a different, predetermined Gold code sequence that normally prevents position determination to be more accurate than to within 300 meters. C/A signals transmitted to the receiver are separately detected by cross-correlating received Gold code sequences with plural locally derived Gold code sequences. Four of the detected C/A signals are combined to compute receiver position to an accuracy of 300 meters. To determine receiver position to greater accuracy than 300 meters, the relative phase of internally-derived Gold code sequences is varied over the interval of one chip (i.e., pulse) of each sequence, to derive second cross-correlation values indicative of received and locally-derived Gold code sequences.
The basic approach followed most recently is to receive and process the signals from several of the GPS satellites in order to determine range to each satellite (and relative velocity). With perfect knowledge of range to only three of the GPS satellites, exact receiver position can be determined from the intersection of the three "spheres" induced by the known satellite positions and the derived receiver ranges. With receiver noise and imperfect knowledge of satellite positions, the receiver-satellite ranges can only be estimated. Typically, errors from receiver noise are reduced by (effectively) averaging many range calculations.
In the above most recent approach, the range from a particular satellite is estimated by reading a time stamp from the satellite's data stream (the transmission instant), subtracting this from the reception time, and multiplying the time difference by the speed of light. Any error in satellite and receiver clock synchronization leads to proportional range errors. Because the same clock is used in receiving from all satellites, there is only one unknown receiver clock "bias." By using a fourth (or more) satellite, the clock bias and ranges can be jointly estimated.
At the receiver, the reception time is determined by performing a cross-correlation of the received data with a local replica of the known satellite Gold code, and noting the time of the correlation peak, and its position relative to the time stamp. The satellite signal structures use Code Division Multiple Access (CDMA) so that the above cross-correlation is part of the standard receiver process.
All GPS-based systems require correlation between the GPS satellites and the receiver. Correlation requires that the satellite be identified according to its Gold code and ephemeral data. Since the power consumption of the RF circuitry is substantial, proper and rapid satellite identification is essential in a system requiring low power dissipation.
Heretofore, there has not been a correlation technique for rapid identification of individual satellites and their transmission strengths. It would be desirable to provide a correlator which could be used to rapidly track the identities of satellites in a GPS-based system and to monitor the intensities of their signal strengths. It would be further desirable to provide a parallel correlator circuit which could be utilized to track satellites in a GPS-based system. It would also be desirable to provide a correlator which correlates satellites based upon the Doppler shift of transmitted signals.
It would also be desirable to provide a correlator which can be utilized in other non-GPS or non-satellite based applications. These and other goals are achieved with the parallel correlator of the present invention.